home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer (Italian) 30 / PC Gamer IT CD 30 1-2.iso / MOTS / GAMEDATA / RESOURCE / JKMRES.GOO / cog_force_defense.cog < prev    next >
Text File  |  1998-02-25  |  2KB  |  75 lines

  1. # Jedi Knight Cog Script
  2. #
  3. # FORCE_DEFENSE.COG
  4. #
  5. # Force Defense
  6. # Bin 19
  7. #
  8. # [YB]
  9. #
  10. # (C) 1997 LucasArts Entertainment Co. All Rights Reserved
  11.  
  12.  
  13. symbols
  14.  
  15. thing       player                           local
  16.  
  17. flex        damage                           local
  18. flex        type                             local
  19. int         rank                             local
  20. sound       defenseSound=ForceDefense.wav    local
  21.  
  22. message     startup
  23. message     damaged
  24. message     timer
  25.  
  26. end
  27.  
  28. # ========================================================================================
  29.  
  30. code
  31.  
  32. startup:
  33.    player = GetLocalPlayerThing();
  34.    SetInvActivated(player, 19, 0);
  35.  
  36.    Return;
  37.  
  38. # ........................................................................................
  39.  
  40. damaged:
  41.  
  42.    rank = GetInv(player, 19);
  43.    damage = GetParam(0);
  44.  
  45.    // if type of damage is FORCE
  46.    if(GetParam(1) == 8)
  47.    {
  48.       damage = damage * (1 - rank * 0.125);
  49.  
  50.       if(rank != 0)
  51.       {
  52.          // Play defense sound
  53.          PlaySoundThing(defenseSound, player, 1.0, -1, -1, 0x80);
  54.  
  55.          // Flash the defense icon for 0.5 seconds if it
  56.          // is not already there, else add to the duration
  57.          SetInvActivated(player, 19, 1);
  58.          KillTimerEx(1);
  59.          SetTimerEx(0.5, 1, 0, 0);
  60.       }
  61.    }
  62.  
  63.    ReturnEx(damage);
  64.    Return;
  65.  
  66. # ........................................................................................
  67.  
  68. timer:
  69.    SetInvActivated(player, 19, 0);
  70.    Return;
  71.  
  72. end
  73.  
  74.  
  75.